home *** CD-ROM | disk | FTP | other *** search
- 1000 ; excludegadget date: 10-03-88
- 1010 ;---------------------------------
- 1020 ;
- 1030 ; the final cartridge iii desktop
- 1040 ;
- 1050 ; riska h&p, marc derksen
- 1060 ;
- 1070 ; p r o j e c t d e m o
- 1080 ;
- 1090 ;---------------------------------
- 1100 ;
- 1110 *=$0be1,$0801
- 1120 buf0=$a3
- 1130 buf1=$a4
- 1140 gosub=$de05 ; system constants
- 1150 close=$01
- 1160 toback=$02
- 1170 dragbr=$08
- 1180 invert=$01
- 1190 status=$02
- 1200 bordr=$04
- 1210 toggle=$20
- 1220 exclude=$40
- 1230 ;
- 1240 ;------ basic startup data -----
- 1250 wor $0817,1987 ; line number
- 1260 byt $9e ; basic sys-code
- 1270 byt "2076 desk[164]p v1.0",0,0,0
- 1280 byt 1,0 ; version
- 1290 byt 2 ; size in blocks
- 1300 jmp $dfe8 ; startup
- 1310 byt 0 ; unused
- 1320 ;
- 1330 mn3it1=$c0c2
- 1340 mn3it2=$c0ca
- 1350 ;------ main ------------------
- 1360 start jsr survive
- 1370 ldx #<item2 ; set new menu
- 1380 ldy #>item2
- 1390 stx mn3it1
- 1400 sty mn3it1+1
- 1410 rts
- 1420 ;
- 1430 ;------ menuitem structure ---
- 1440 item2 wor item3 ; nextitem
- 1450 wor it2txt ; item name
- 1460 wor openwd ; item exec
- 1470 byt 1,0 ; enable item
- 1480 item3 wor 0 ; no nextitem
- 1490 wor it3txt
- 1500 wor unlink
- 1510 byt 1,0
- 1520 ;
- 1530 it2txt byt "[196][197][205][207][160][215][196]",0
- 1540 it3txt byt "[213][206][204][201][206][203]",0
- 1550 ;
- 1560 ggflags=invert+bordr+toggle+exclude
- 1570 ;------ window ---------------
- 1580 openwd ldx #<window ; call openwd
- 1590 ldy #>window
- 1600 lda #openwindow
- 1610 jmp gosub
- 1620 ;
- 1630 window wor gadget1 ; first gadget
- 1640 byt 40,40 ; wdx,wdy
- 1650 byt 110,50 ; width,height
- 1660 wor wdtitle ; window name
- 1670 byt close+toback+dragbr ; wdflags
- 1680 byt 66 ; wdtitle size
- 1690 wor 0,0
- 1700 ;
- 1710 gadget1 wor gadget2 ; next gadget
- 1720 byt 18,30 ; ggx,ggy
- 1730 byt 22,13 ; width,height
- 1740 wor ggtext ; gadget text
- 1750 byt ggflags ; gadget flags
- 1760 wor 0,ggexec,0 ; gadget exec
- 1770 byt 0 ; user free
- 1780 wor exclist ; exclude list
- 1790 ;
- 1800 gadget2 wor gadget3 ; next gadget
- 1810 byt 44,30 ; ggx,ggy
- 1820 byt 22,13 ; width,height
- 1830 wor 0 ; gadget text
- 1840 byt ggflags ; gadget flags
- 1850 wor 0,ggexec,0 ; gadget exec
- 1860 byt 0 ; user free
- 1870 wor exclist ; exclude list
- 1880 ;
- 1890 gadget3 wor 0 ; next gadget
- 1900 byt 70,30 ; ggx,ggy
- 1910 byt 22,13 ; width,height
- 1920 wor 0 ; gadget text
- 1930 byt ggflags+status ; gadget flags
- 1940 wor 0,ggexec,0 ; gadget exec
- 1950 byt 0 ; user free
- 1960 wor exclist ; exclude list
- 1970 ;
- 1980 exclist wor gadget1 ; exclude
- 1990 wor gadget2
- 2000 wor gadget3
- 2010 wor 0
- 2020 ;
- 2030 wdtitle byt "[205]y [215]indow",0
- 2040 ggtext byt 4,$f4,1 ; text struc
- 2050 byt "[205]utual [197]xclude",0
- 2060 ;
- 2070 ;------ gadget exec ----------
- 2080 ggexec inc $d020 ; gadget clicked
- 2090 rts
- 2100 ;
- 2110 ;------ unlink ---------------
- 2120 unlink ldx #<window ; close wd
- 2130 ldy #>window
- 2140 jsr closewd
- 2150 ldx #<mn3it2 ; remove menu
- 2160 ldy #>mn3it2
- 2170 stx mn3it1
- 2180 sty mn3it1+1
- 2190 inc $8004 ; remove survive
- 2200 rts
- 2210 ;
- 2220 ;------ close window ---------
- 2230 closewd stx buf0
- 2240 sty buf1
- 2250 lda #wdonscreen ; if wd open
- 2260 jsr gosub
- 2270 iny
- 2280 beq not
- 2290 ldx buf0 ; then closewd
- 2300 ldy buf1
- 2310 lda #setcurwd
- 2320 jsr gosub
- 2330 lda #wdclose
- 2340 jsr gosub
- 2350 not rts
- 2360 ;
- 2370 ;------ reset survive --------
- 2380 survive ldx #6-1 ; install code
- 2390 slp lda tabel,x
- 2400 sta $8000,x
- 2410 dex
- 2420 bpl slp
- 2430 rts
- 2440 tabel wor start+3
- 2450 byt "mg87"
- 2460 ;
- 2470 ;------ includes -------------
- 2480 openwindow=48
- 2490 wdonscreen=70
- 2500 wdclose=65
- 2510 setcurwd=29
-